﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using TaxiCaosSOAPService.Dominio;
using NHibernate;

namespace TaxiCaosSOAPService.Persistencia
{
    public class UsuarioDAO : BaseDAO<Usuario, int>
    {
        public Usuario ObtenerUsuarioPorULogin(string ulogin)
        {
            using (ISession sesion = NHibernateHelper.ObtenerSesion())
            {
                string sentenciaSQL = "select u from Usuario as u where u.ULogin = :userLogin";
                IQuery query = sesion.CreateQuery(sentenciaSQL);
                query.SetParameter("userLogin", ulogin);
                IList<Usuario> lista = query.List<Usuario>();

                return (lista.Count > 0) ? lista[0] : null;
                
            }
        }

        public Usuario ObtenerUsuarioPorULoginAndPassword(string ulogin, string password)
        {
            using (ISession sesion = NHibernateHelper.ObtenerSesion())
            {
                string sentenciaSQL = "select u from Usuario as u where u.ULogin = :userLogin and u.Password = :password";
                IQuery query = sesion.CreateQuery(sentenciaSQL);
                query.SetParameter("userLogin", ulogin);
                query.SetParameter("password", password);
                IList<Usuario> lista = query.List<Usuario>();
               
                return (lista.Count > 0) ? lista[0] : null;

            }
        }
    }
}